package com.danceforyou.payment.service;

import com.danceforyou.common.service.BaseService;
import com.danceforyou.payment.dao.PaymentDAO;
import com.danceforyou.payment.model.PaymentDO;
import com.danceforyou.payment.vo.PaymentVO;
import org.springframework.web.multipart.MultipartFile;

import java.util.Map;

/**
 * 类名称：PaymentService
 * 创建人：danceforyou
 * 创建时间：2021年02月05日
 * 版本号：1.0v
 */
public interface PaymentService extends BaseService<Long, PaymentDO, PaymentVO, PaymentDAO> {

    /**
     * 新增信息
     * @param payment 信息
     */
    void saveInfo(PaymentDO payment);

    /**
     * 修改信息
     * @param payment 信息
     */
    void updateInfo(PaymentDO payment);

    /**
     * 删除信息
     * @param ids 主键
     * @return 删除条数
     */
    int deleteInfoByIds(String ids);

    /**
     * 审核通过付款申请
     * @param ids 付款IDS
     * @return int
     */
    int setPaymentAuditPass(String ids);

    /**
     * 审核不通过通过付款申请
     * @param ids 付款IDS
     * @param auditDesc 审核意见
     * @return int
     */
    int setPaymentAuditNoPass(String ids, String auditDesc);

    /**
     * 支付通过付款申请
     * @param fileList 付款凭证
     * @param ids 付款IDS
     * @return int
     */
    int setPaymentPayed(MultipartFile[] fileList, String ids);

    /**
     * 统计付款金额
     * @param roleType 岗位类别
     * @param userId 员工ID
     * @return Map
     */
    Map statPaymentInfo(String roleType, Long userId);
}